package org.example.stream;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.IntFunction;

public class Demo06 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"林俊杰","林忆莲","周杰伦","周兴哲");
 
 
        // toArray()          收集流中的数据，放到数组中
        //Object[] arr1 = list.stream().toArray();
        //System.out.println(Arrays.toString(arr1));
 
 
        //IntFunction的泛型：具体要保存的数据类型
        //apply的形参：流中的数据个数，要跟数组的长度保持一致
        //apply的返回值：具体要保存的数据类型,这里需要指定values个数,不然会报错
        String[] array = list.stream().toArray(new IntFunction<String[]>() {
            @Override
            public String[] apply(int value) {
                return new String[value];
            }
        });
        System.out.println(Arrays.toString(array));
    }
}
